class Dict:
    # 脚本引用字典清单，注意维护时需保持上下一致
    choice_message = "'1' 数字  '2' 人物 '3' 地址 '4' 银行 '5' 编码/条形码 '6' 颜色  '7' 货币 '8' 时间 '9' 文件信息 '10' 网络 '11' 文本 '12' 用户代理#浏览器等 '13' 公司业务相关 14 admonitor相关"

    # 导航提示语
    navigation_dict = {
        '1': "请选择具体的数字类型：'1' 七位随机整数 '2'：0~9随机数字 '3':随机两位小数正数数字 '4':随机两位小数可为负值数字 '5':随机数字 '6':随机Int数字 '7'：随机Decimal数字 '8'：百分比数 '9' 含%百分比\n",
        '2': "请选择人物相关分类: '1':姓名 '2' 性别 '3' 职位 '4'身份证号 '5' 公司 '6'完整手机号码(加了国家和国内区号) '7' 手机号 '8' 区号 '9' 邮箱 '10' 完整个人信息json '11' 简单个人信息json \n",
        '3': "请选择地址相关分类: '1' 地址 '2' 完整城市名 '3' 城市名字(不带市县) '4' 城市后缀名 '5' 国家名称 '6' 国家编号 '7' 地区 '8' 邮编 '9' 省 '10' 街道地址 '11' 街道名称 '12' 坐标 '13' 纬度 '14' 经度 '15' 经纬度 '16' 返回某个国家某地的经纬度 '17' 返回地球上某个位置的经纬度 \n",
        '4': "请选择银行相关信息: '1' 银行所属国家 '2' 基本银行账号 '3' 国际银行代码 选择信用卡相关信息: '4' 信用卡过期年月 '5' 完整信用卡信息 '6' 信用卡卡号 '7' 信用卡提供商 '8' 信用卡安全码\n",
        '5': "请选择编码相关: '1' 二进制 '2' 布尔值 '3' md5 '4' NULL+布尔值 '5' 密码 '6' SHA1 '7' SHA256 '8' UUID4 '9' EAN条形码 '10' EAN13条形码 '11' EAN8条形码\n",
        '6': "请选择颜色相关信息:'1' 颜色名称 '2' 颜色十六进制值 '3' 颜色RGB值 '4' CSS颜色值 '5' 安全色 '6' 安全色十六进制值 \n",
        '7': "请选择货币相关信息:'1' 加密货币代码+名称 '2' 加密货币代码 '3' 加密货币名称 '4' 货币代码+名称 '5' 货币代码 '6' 货币名称\n",
        '8': "请选择时间相关信息: '1' 近一周日期 '2' 近30天日期 '3' 近一年日期 '4' 近一周格式化时间 '5' 近30天格式化时间 '6' 近一年格式化时间 '7' 近一周UNIX时间戳 '8' 近30天UNIX时间戳 '9' 近一年UNIX时间戳 '10' 星期几 '11' 月份 '12' 年份\n",
        '9': "请选择文件相关信息: '1' 文件扩展名 '2' 文件名 '3' 文件路径 '4' MIME类型 '5' UNIX设备 '6' UNIX分区\n",
        '10': "请选择网络相关信息: '1' 主机名 '2' 图片URL '3' ipv4 '4' ipv4网络等级 '5' 私有ipv4 '6' 公共ipv4 '7' ipv6 '8' MAC地址 '9' URL中的slug '10' 顶级域名 '11' URI '12' URI扩展 '13' URI页 '14' URI路径 '15' URL \n",
        '11': "请选择文本相关信息: '1' 单个词语 '2' 词组 '3' 一句话 '4' 随机英文字符串 '5' 一段话 '6' 多段话 '7' 一篇无意的文章\n",
        '12': "请选择用户代理信息: '1' 安卓 '2' Chrome '3' FireFox '4' Ie '5' ios '6' Linux '7' Linux处理器 '8' Mac '9' Mac处理器 '10' Opera '11' Safari '12' 随机用户代理 '13' Windows\n",
        '13': "请选择公司业务相关信息: '1' 广告线索 '2' 粉丝活动 '3' 商业行为 '4' 渠道值 '5' 代理终端类型 \n",
        '14': "请选择admonitor相关: '1' 日志类型 '2' UUid 类型 '3' 移动端操作系统类型 '4' 平台 '5' spotId \n"}

    # 动态调用菜单
    menu_dict = {
        '1': "Dict.number_dict[value]",
        '2': "Dict.person_dict[value]",
        '3': "Dict.address_dict[value]",
        '4': "Dict.bank_dict[value]",
        '5': "Dict.encoding_dict[value]",
        '6': "Dict.color_dict[value]",
        '7': "Dict.currency_dict[value]",
        '8': "Dict.time_dict[value]",
        '9': "Dict.file_dict[value]",
        '10': "Dict.network_dict[value]",
        '11': "Dict.text_dict[value]",
        '12': "Dict.agent_dict[value]",
        '13': "Dict.company_business_dict[value]",
        '14': "Dict.admonitor_dict[value]"}

    number_dict = {
        '1': "str(random.randint(1000000,9999999))",
        '2': "str(faker.random_digit())",
        '3': "str(faker.pyfloat(positive=True,right_digits=2))",
        '4': "str(faker.pyfloat(right_digits=2))",
        '5': "str(faker.random_number())",
        '6': "str(faker.pyint())",
        '7': "str(faker.pydecimal())",
        '8': "str(faker.pyfloat(positive=True,right_digits=2,left_digits=2))",
        "9": "str(faker.pyfloat(positive=True,right_digits=2,left_digits=2))" + "+'%'"}

    person_dict = {
        '1': "str(faker.name())",
        '2': "str(faker.sex())",
        '3': "str(faker.job())",
        '4': "str(faker.ssn())",
        '5': "str(faker.company())",
        '6': "str(faker.sdn())",
        '7': "str(faker.phone_number())",
        '8': "str(faker.phonenumber_prefix())",
        '9': "str(faker.email())",
        '10': "str(faker.profile(fids=None, sex=None))",
        '11': "str(faker.simple_profile(sex=None))"}

    address_dict = {
        '1': "str(faker.address())",
        '2': "str(faker.city())",
        '3': "str(faker.city_name())",
        '4': "str(faker.city_suffix())",
        '5': "str(faker.country())",
        '6': "str(faker.country_code(representation=\"alpha-2\"))",
        '7': "str(faker.district())",
        '8': "str(faker.postcode())",
        '9': "str(faker.province())",
        '10': "str(faker.street_address())",
        '11': "str(faker.street_name())",
        '12': "str(faker.coordinate(center=None, radius=0.001))",
        '13': "str(faker.latitude())",
        '14': "str(faker.longitude())",
        '15': "str(faker.latlng())",
        '16': "str(faker.local_latlng(country_code=\"US\", coords_only=False))",
        '17': "str(faker.location_on_land(coords_only=False))"}

    bank_dict = {
        '1': "str(faker.bank_country())",
        '2': "str(faker.bban())",
        '3': "str(faker.iban())",
        '4': "str(faker.credit_card_expire(start=\"now\", end=\"+10y\", date_format=\"%m/%y\"))",
        '5': "str(faker.credit_card_full(card_type=None))",
        '6': "str(faker.credit_card_number(card_type=None))",
        '7': "str(faker.credit_card_provider(card_type=None))",
        '8': "str(faker.credit_card_security_code(card_type=None))"}

    encoding_dict = {
        '1': "str(faker.binary(length=1048576))",
        '2': "str(faker.boolean(chance_of_getting_true=50))",
        '3': "str(faker.md5(raw_output=False))",
        '4': "str(faker.null_boolean())",
        '5': "str(faker.password(length=10, special_chars=True, digits=True, upper_case=True, lower_case=True))",
        '6': "str(faker.SHA1(raw_output=False))",
        '7': "str(faker.sha256(raw_output=False))",
        '8': "str(faker.uuid4(cast_to=None))",
        '9': "str(faker.ean(length=13))",
        '10': "str(faker.ean13())",
        '11': "str(faker.ean8())"}

    color_dict = {
        '1': "str(faker.color_name())",
        '2': "str(faker.hex_color())",
        '3': "str(faker.rgb_color())",
        '4': "str(faker.rgb_css_color())",
        '5': "str(faker.safe_color_name())",
        '6': "str(faker.safe_hex_color())"}

    currency_dict = {
        '1': "str(faker.cryptocurrency())",
        '2': "str(faker.cryptocurrency_code())",
        '3': "str(faker.cryptocurrency_name())",
        '4': "str(faker.currency())",
        '5': "str(faker.currency_code())",
        '6': "str(faker.currency_name())"}

    time_dict = {
        '1': "str(faker.date_between_dates(datetime.datetime.now() + datetime.timedelta(weeks=-1), datetime.datetime.now()))",
        '2': "str(faker.date_between_dates(datetime.datetime.now() + datetime.timedelta(days=-30), datetime.datetime.now()))",
        '3': "str(faker.date_between_dates(datetime.datetime.now() + datetime.timedelta(days=-360), datetime.datetime.now()))",
        '4': "str(faker.date_time_between(datetime.datetime.now() + datetime.timedelta(weeks=-1), datetime.datetime.now()).strftime('%Y-%m-%d %H:%M:%S'))",
        '5': "str(faker.date_time_between(datetime.datetime.now() + datetime.timedelta(days=-30), datetime.datetime.now()).strftime('%Y-%m-%d %H:%M:%S'))",
        '6': "str(faker.date_time_between(datetime.datetime.now() + datetime.timedelta(days=-360), datetime.datetime.now()).strftime('%Y-%m-%d %H:%M:%S'))",
        '7': "str(faker.unix_time(start_datetime=datetime.datetime.now() + datetime.timedelta(weeks=-1),end_datetime=datetime.datetime.now()))",
        '8': "str(faker.unix_time(start_datetime=datetime.datetime.now() + datetime.timedelta(days=-30),end_datetime=datetime.datetime.now()))",
        '9': "str(faker.unix_time(start_datetime=datetime.datetime.now() + datetime.timedelta(days=-360),end_datetime=datetime.datetime.now()))",
        '10': "str(faker.day_of_week())",
        '11': "str(faker.month())",
        '12': "str(faker.year())"}

    file_dict = {
        '1': "str(faker.file_extension(category=None))",
        '2': "str(faker.file_name(category=None, extension=None))",
        '3': "str(faker.file_path(depth='1', category=None, extension=None))",
        '4': "str(faker.mime_type(category=None))",
        '5': "str(faker.unix_device(prefix=None))",
        '6': "str(faker.unix_partition(prefix=None))"}

    network_dict = {
        '1': "str(faker.hostname())",
        '2': "str(faker.image_url(width=None, height=None))",
        '3': "str(faker.ipv4(network=False, address_class=None, private=None))",
        '4': "str(faker.ipv4_network_class())",
        '5': "str(faker.ipv4_private(network=False, address_class=None))",
        '6': "str(faker.ipv4_public(network=False, address_class=None))",
        '7': "str(faker.ipv6(network=False))",
        '8': "str(faker.mac_address())",
        '9': "str(faker.slug())",
        '10': "str(faker.tld())",
        '11': "str(faker.uri())",
        '12': "str(faker.uri_extension())",
        '13': "str(faker.uri_page())",
        '14': "str(faker.uri_path(deep=None))",
        '15': "str(faker.url(schemes=None))"}

    text_dict = {
        '1': "str(faker.word())",
        '2': "str(faker.words())",
        '3': "str(faker.sentence())",
        '4': "str(faker.pystr())",
        '5': "str(faker.paragraph())",
        '6': "str(faker.paragraphs())",
        '7': "str(faker.text())"}

    agent_dict = {
        '1': "str(faker.android_platform_token())",
        '2': "str(faker.chrome(version_from=13, version_to=63, build_from=800, build_to=899))",
        '3': "str(faker.firefox())",
        '4': "str(faker.internet_explorer())",
        '5': "str(faker.ios_platform_token())",
        '6': "str(faker.linux_platform_token())",
        '7': "str(faker.linux_processor())",
        '8': "str(faker.mac_platform_token())",
        '9': "str(faker.mac_processor())",
        '10': "str(faker.opera())",
        '11': "str(faker.safari())",
        '12': "str(faker.user_agent())",
        '13': "str(faker.windows_platform_token())"}

    company_business_dict = {
        '1': "str(faker.advertising_leads())",
        '2': "str(faker.fans_activity())",
        '3': "str(faker.sentence())",
        '4': "str(faker.business_activity())",
        '5': "str(faker.channel())",
        '6': "str(faker.proxy_terminal())"}

    admonitor_dict = {
        '1': "str(faker.log_type_list())",
        '2': "str(faker.uuid_type_list())",
        '3': "str(faker.os_type_list())",
        '4': "str(faker.platform_list())",
        '5': "str(faker.generate_random_str(5))"
        # TODO 新增一个可识别的方法 识别后在实际翻译成数据时 提取 替换成动态依赖的数据
    }
